OOP 是一種程式設計方法
先講個補充事件來聽聽看吧?
物件?房子?
簡單來講:
物件(Object) = 屬性(Property) + 行為(Behavior)
小明 這個人 代表物件 ,他的名字 性別 膚色 衣服穿什麼
這都代表他的屬性,而當小明會有吃飯 講話 睡覺 這些行為就是他的動詞。
var obj ={
a:'hello world',
b:42,
c:true
};
obj.a; // "hello world"
obj.b; // 42
obj.c; // true
// 同等於
obj["a"] // "hello world"
obj["b"]; // 42
obj["c"]; // true
以圖像來表現就是
物件的特性表現方式:
因為點記號比較短,容易閱讀,所以盡量優先使用它
以上圖來說
屬性:
名稱:cat,
年齡:4,
貓色:花色
行為:
吃飯,
睡覺,
玩
var cat =new Object();
cat.name ='cat';
cat.LastName ='cho';
cat.age =4;
console.log(cat);
var cat ={
age:5,
name:"cat",
job:"loser",
family:["dad", "mom" ,"kelly"],
calculate: function yearOfBirth(myage){
return 2017 -myage;
}
};
console.log(cat.family[1]) // mom
console.log(cat.calculate(10)) // 2007
用「擬人化」或「擬物化」的方式
來看待程式碼
使程式碼更好管力
使用一些包含特殊字符或動態產生的字串作為屬性名稱,就必須使用鍵值存取 [ ] 的方式。
包含特殊字符的屬性名稱。
const obj = {
'!!12345!!': 'Hello World',
};
obj.!!12345!! // Uncaught SyntaxError: Unexpected token !
obj['!!12345!!'] // "Hello World"
參考以下文章:
https://wcc723.github.io/javascript/2017/12/18/javascript-constructor/
肚子餓 想到傳統雞蛋糕 會有很多模板 卡拉赫拉 比卡丘 等等
首先製作一個烤盤模型如下:
function CuteAnimation(name, skill) {
this.name = name;
this.skill = skill;
}
var pikachu = new CuteAnimation("⽪卡丘","⼗萬伏特");
var frog = new CuteAnimation("妙蛙種⼦","藤鞭");
var turtle = new CuteAnimation("傑尼⿔","⽔槍");
console.log(pikachu.name); // 印出 "⽪卡丘"
console.log(turtle.skill); // 印出 "⽔槍"
console.log(frog.skill); // 印出 "藤鞭"
我們都是用同一烤盤,同一模型但烤出來是不一樣的東西,
烤盤就像是建模的模組,但出來的東西會不一樣。